GNU Libtool
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
GNU Libtool is a software development tool, part of the GNU build system, consisting of a shell scriptcite-ref-libtool-is-a-shell-script-3-0[3] created to address the software portability problem when compiling shared libraries from source code. It hides the differences between computing platforms for the commands which compile shared libraries.cite-ref-libtool-portability-via-abstraction-4-0[4] It provides a command-line interface that is identical across platforms and it executes the platform's native commands, allowing software authors to offer build support for their code across many diverse platforms such as Linux, BSD variants, Windows (via Cygwin), HP-UX, Solaris (including on SPARC processors), AIX, and IRIX.cite-ref-5[5]
Contents
• Use
• See also
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Rationale
Different operating systems handle shared libraries differently. Some platforms do not use shared libraries at all. It can be difficult to make a software program portable: the C compiler differs from system to system; certain library functions are missing on some systems; header files may have different names.
GNU Libtool is designed to simplify the process of compiling a computer program on a new system, by "encapsulating both the platform-specific dependencies, and the user interface, in a single script". cite-ref-libtool-manual-6-0[6] When porting a program to a new system, Libtool is designed so the porter need not read low-level documentation for the shared libraries to be built, rather just run a configure script (or equivalent). cite-ref-libtool-manual-6-1[6]
Use
Clones and derivatives
Since GNU Libtool was released, other free software projects have created drop-in replacements under different software licenses.cite-ref-bsd-licensed-libtool-8-0[8] slibtool is one such implementation.cite-ref-9[9]
See also
• GNU Compiler Collection – Free and open-source compiler for various programming languages
• pkg-config – Software development tool for querying library dependency information
References
cite-note-11. "GNU". Retrieved 25 June 2012.
cite-note-22. citerefileana-dumitrescu2024Ileana Dumitrescu (25 Sep 2024). "libtool-2.5.3 released [stable]". GNU Libtool - News. savannah.gnu.org.
cite-note-libtool-is-a-shell-script-33. ↑ "A postmortem analysis of other implementations". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
cite-note-libtool-portability-via-abstraction-44. ↑ "Introduction". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
cite-note-55. ↑ "Tested platforms". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2025-06-07.
cite-note-libtool-manual-66. ↑ Libtool Manual
cite-note-automake-uses-libtool-77. ↑ "Writing Makefile rules for libtool". The GNU Libtool manual. The GNU project. 2015-02-15. Retrieved 2021-02-02.
cite-note-bsd-licensed-libtool-88. ↑ BSD-licensed libtool.
cite-note-99. ↑ "Slibtool - Gentoo wiki". wiki.gentoo.org. Retrieved 2024-03-11.
External links
• Official website
• Autobook homepage Archived 2010-12-20 at the Wayback Machine
• Autotools Tutorial
• Avoiding libtool minefields when cross-compiling Archived 2009-03-28 at the Wayback Machine
• Autotools Mythbuster